In the past, when a user desired to use new software, the user was required to go to a store, purchase the software, and install the software on the user's computer. If after the software was shipped, a bug was found, the user would be required to go to the vendor's website, find where a patch could be obtained, and download and apply the patch.
Today, some software is distributed over the Internet. If the software can be packaged in a small executable, a software vendor may choose to distribute the software over the Internet. Using this model, a user can browse to a vendor's Website, pay for software, and then download the software. This model has problems when the software requires a lot of disk space or when the user has an Internet connection with relatively low bandwidth. For example, with a computer with a 28.8 kilobits per second (Kbs) connection to the Internet, a CD's worth of software (650 Megabytes) would take over 50 hours to download. Even with a 512 Kbs connection, downloading 650 Megabytes of software would take almost three hours—assuming that the connection remained up and delivered its full bandwidth.
If a mechanism were provided for decreasing the amount of time a user was required to wait before accessing content available from a server on the Internet, a world of new marketing opportunities could be realized.